package conson.tech.manage.coupons.service;

import conson.tech.core.response.Response;
import conson.tech.manage.api.coupons.dto.CouponAppliedDetailDTO;

import java.util.List;

/**
 * 优惠券系统对外服务接口
 * Created by guoxt on 2020/7/27.
 */
public interface CouponProviderService {
    /**
     * 用户优惠券锁定
     *
     * @param couponCodeList
     * @return conson.tech.core.response.Response
     */
    Response lockCoupon(List<String> couponCodeList);

    /**
     * 用户优惠券解锁
     *
     * @param couponCodeList
     * @return conson.tech.core.response.Response
     */
    Response unlockCoupon(List<String> couponCodeList);

    /**
     * 用户优惠券核销
     *
     * @param couponList
     * @return conson.tech.core.response.Response
     */
    Response appliedCoupon( List<CouponAppliedDetailDTO> couponList);

    /**
     * 优惠券原路返还
     *
     * @param couponCode
     * @return conson.tech.core.response.Response
     */
    Response returnCoupon( String couponCode);

    /**
     * 获取用户优惠券配置信息
     *
     * @param userId
     * @param couponCodeList
     * @return conson.tech.core.response.Response
     */
    Response couponConfigDetails(Long userId, List<String> couponCodeList);

}
